package com.winsdom.mapper.count;

import com.winsdom.entity.count.BillingDetailsQueryRequest;
import com.winsdom.entity.count.BillingDetailsVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface BillingDetailsMapper {
    
    /**
     * 查询计费明细列表
     * 
     * @param offset 偏移量
     * @param pageSize 每页数量
     * @return 计费明细列表
     */
    List<BillingDetailsVO> selectBillingDetailsList(@Param("offset") int offset, @Param("pageSize") int pageSize);
    
    /**
     * 条件查询计费明细列表
     * 
     * @param query 查询条件
     * @return 计费明细列表
     */
    List<BillingDetailsVO> selectBillingDetailsWithCondition(BillingDetailsQueryRequest query);
    
    /**
     * 查询总记录数
     */
    long selectTotalCount();
    
    /**
     * 条件查询总记录数
     * 
     * @param query 查询条件
     * @return 总记录数
     */
    long selectTotalCountWithCondition(BillingDetailsQueryRequest query);
} 